package org.example.dao;

import org.example.entity.Employee;
import org.example.entity.EmployeeDTO;
import java.sql.Connection; // 添加 Connection 导入
import java.util.List;

public interface EmployeeDao {
    List<EmployeeDTO> getEmployeDTOs();
    // 修改员工的部门编号
    int updateEmployeeDeptId(int empId, int deptId);
    EmployeeDTO getEmpByName(String empName);
    void addEmp(Employee employee);

    /**
     * 根据员工ID删除员工
     * @param empId 员工ID
     */
    void deleteEmp(int empId);

    /**
     * 获取所有员工信息
     *
     * @return 员工列表
     */
    List<Employee> getAllEmployees();

    /**
     * 使用外部提供的数据库连接添加员工（用于事务处理）
     * @param conn 数据库连接
     * @param employee 员工实体
     */
    void addEmp(Connection conn, Employee employee);
}